package com.bytenebula.asteroid.service;

import com.bytenebula.asteroid.entity.MetaColumn;
import com.mybatisflex.core.service.IService;
import com.bytenebula.asteroid.entity.MetaTable;

import java.util.List;

/**
 *  服务层。
 *
 * @author patrick
 * @since 2024-09-15
 */
public interface MetaTableService extends IService<MetaTable> {

    /**
     * 根据id获取MetaTable对象，并获取字段列表
     * @return 如果id存在返回MetaTable对象，否则返回NULL
     */
    MetaTable getOneWithRelationsById(Integer id);

    /**
     * 新建MetaTable，并同时新建内部MetaColumn
     * @param table 待保存的数据表对象
     * @return 创建成功返回id，否则返回Null
     */
    Integer saveWithColumns(MetaTable table);

}
